﻿using Black.Minecraft.Editor.ViewModels.Core;
using System.Windows.Input;

namespace Black.Minecraft.Editor.ViewModels
{
    /// <summary>
    /// ViewModel pour la page de présentation
    /// </summary>
    public class AboutViewModel : BaseViewModel
    {
        #region Propriétés

        /// <summary>
        /// Obtient la commande de lien
        /// </summary>
        public ICommand LinkCommand
        {
            get
            {
                return (this._linkCommand);
            }
        }

        /// <summary>
        /// Obtient la version de l'application
        /// </summary>
        public string Version
        {
            get
            {
                return (this._version);
            }
        }

        #endregion

        #region Variables d'instances

        private string _version;
        private RelayCommand _linkCommand;

        #endregion

        #region Constructeurs

        /// <summary>
        /// Constructeur de la classe
        /// </summary>
        public AboutViewModel()
            : base()
        {
            this._version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
        }

        #endregion

        #region Fonctions protégées

        /// <summary>
        /// Initialise les commandes
        /// </summary>
        protected override void OnInitializeCommand()
        {
            this._linkCommand = new RelayCommand(this.OnLinkCommandExecute);
        }

        #endregion

        #region Fonctions privées

        /// <summary>
        /// Se produit sur l'éxécution de la commande Link
        /// </summary>
        /// <param name="parameter">Paramètre de la commande</param>
        private void OnLinkCommandExecute(object parameter)
        {
            System.Diagnostics.Process.Start("http://blog.nicolascalvi.com/");
        }

        #endregion
    }
}
